home *** CD-ROM | disk | FTP | other *** search
- unit level1;
- {$O+}
- {$F+} {overlayed units are usually far call model}
- interface
-
- procedure golevel1;
-
- implementation
- uses setjmps,level2;
-
-
- {$I localCSfunction.inc} {returns current Cseg of THIS unit}
-
- procedure golevel1;
- VAR jmpBuffer : jmpBuf; {this could be a global variable, then we
- wouldn't have to pass it as a parameter}
- i : integer;
- begin
- i := setjmp(jmpBuffer,localCSfunction);
- writeln('at level1, right after setjmp');
-
- if i=0 then begin {if initial setjmp call}
- writeln('calling level2...');
- golevel2(jmpBuffer);
- end else begin {else jmpBack was called}
- writeln('jmpBack was called, and so setjmp returned a value of: ',i);
- end;
-
- writeln('end of level1.');
- end;
-
- end.